# n!=n*(n-1)*(n-2)*...*1
# 递归函数
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)
# 调用函数
result = factorial(5)
print(result)

# 写一个递归函数，输出1-10之间所有的数字
def print_numbers(n):
    if n <= 10:
        print(n)
        print_numbers(n+1)

print_numbers(1)
# 【问题描述】假定小兔子一个月就可以长成大兔子，而大兔子每个月就会生出一对小兔子。如果年初养了一对小兔子，问:到年底时将有多少对兔子?(假设兔子没有死亡而且严格按照上述规律长大与繁殖)此问题用递归处理。
def r(m):
    if m == 1 or m == 2:
        return 1
    else:
        return r(m - 1) + r(m - 2)
# 调用函数
t = r(12)
print(t)